#ifndef RABBIT_CONSTS_H
#define RABBIT_CONSTS_H

#include <string>

const int SERAIL_READ_MAX_LEN = 1024;
const std::string BASE_DATA_PATH = "/home/wqj/catkin_ws_model/src/data/";
const int BIG_VIDEO_HIGHT = 640;
const int BIG_VIDEO_WIDTH = 480;
const int SMALL_VIDEO_HIGHT = 200;
const int SMALL_VIDEO_WIDTH = 180;
const std::string TOPIC_CHANGE_CHANNEL = "/change_channel"; 
const std::string TOPIC_CAMERA = "/sensors/camera";               //camera_bfore
const std::string TOPIC_CAMERA_TWO = "/sensors/camera_two";       //camera_after
const std::string TOPIC_CAMERA_RGB = "/sensors/rgb";
const std::string TOPIC_CAMERA_THERAML = "/sensors/theraml";
const std::string TOPIC_CAMERA_SUMBOY = "/sensors/camera_subboy";
const std::string TOPIC_GPS = "/sensors/gps";
const std::string TOPIC_RANGE = "/sensors/range";
const std::string TOPIC_CMD = "/sensors/cmd";
const std::string TOPIC_CAMERA_AI = "/flashai/detections/fuse";

//const std::string CAMERA_RTSP_ADDR = "rtsp://admin:eboy123456@10.1.80.240:554/h265/ch01/sub/av_stream";
const std::string CAMERA_RTSP_ADDR = "rtsp://admin:cethik0198@192.168.1.64:554/h265/ch01/sub/av_stream";
const std::string CAMERA_RTSP_ADDR2 = "rtsp://admin:cethik0198@192.168.1.64:554/h265/ch02/sub/av_stream";
const std::string CAMERA_SUMBOY_RTSP_ADDR = "rtsp://192.168.2.119/554";
const std::string SERIAL_SUMBOY_DEV = "/dev/ttyWCHUSB0"; //camera
const std::string SERIAL_GPS_DEV = "/dev/ttyWCHUSB1";  //gps
const std::string SERIAL_BW_RANGE_DEV = "/dev/ttyWCHUSB2"; //benewake range
const std::string SERIAL_TC_DEV = "/dev/ttyWCHUSB3"; //


const std::string SMALL_CAR_BEFORE_DEV = "rtsp://192.168.2.119/554";      //small car before camera
const std::string SMALL_CAR_AFTER_DEV = "/dev/video0";   //small car after camera

const std::string SERIAL_RANGE_DEV = "/dev/ttyUSB0"; 
//usb to 4 serial:0 to sumboy camera;1 to gps 
const std::string SERIAL_GPS_START = "$GN";
const std::string SERIAL_RANGE_START = "   ";//3 blank space
const std::string SERIAL_RANGE_END = "\r\n";

//sumboy cmd  -- hw rgb change 
const int SUMBOY_CMD_LEN = 48;
const int SUMBOY_CMD_RGB_LEN = 9;
const uint8_t SUMBOY_CMD_HW[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x92};
const uint8_t SUMBOY_CMD_RGB[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x94};
//sumboy cmd  -- hw focus 
const uint8_t SUMBOY_CMD_HW_FOCUS1[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x81,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e};  //0x81 
const uint8_t SUMBOY_CMD_HW_FOCUS2[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x87,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44};  //0x87 
const uint8_t SUMBOY_CMD_HW_FOCUS3[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x8d,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4a};  //0x8d 
const uint8_t SUMBOY_CMD_HW_FOCUS4[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x93,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x50};  //0x93
const uint8_t SUMBOY_CMD_HW_FOCUS5[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x99,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x56};  //0x99 
const uint8_t SUMBOY_CMD_HW_FOCUS6[SUMBOY_CMD_LEN]={0x7e,0x7e,0x44,0x00,0x00,0x7d,0x9e,0x00,0x00,0x00,0x96,0x43,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5b};  //0x9e 
//sumboy cmd  -- grb focus 
const uint8_t SUMBOY_CMD_RGB_FOCUS1[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x00,0x00,0x00,0x00,0xff};  //1* 0000  
const uint8_t SUMBOY_CMD_RGB_FOCUS2[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x02,0x0f,0x06,0x0d,0xff};  //7* 2f6d 
const uint8_t SUMBOY_CMD_RGB_FOCUS3[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x03,0x08,0x02,0x00,0xff};  //13* 3820
const uint8_t SUMBOY_CMD_RGB_FOCUS4[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x03,0x0c,0x0d,0x0c,0xff};  //19* 3cdc
const uint8_t SUMBOY_CMD_RGB_FOCUS5[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x03,0x0f,0x01,0x0e,0xff};  //25* 3f1e
const uint8_t SUMBOY_CMD_RGB_FOCUS6[SUMBOY_CMD_RGB_LEN]={0x81,0x01,0x04,0x47,0x04,0x00,0x00,0x00,0xff};  //30* 4000
//cmd msg 
const int MSG_CMD_TYPE_SUMBOY = 1;    //sumboy cmd
const int MSG_CMD_TYPE_AN = 2;       // android cmd 
const int MSG_CMD_TYPE_SUMBOY_HW = 101;
const int MSG_CMD_TYPE_SUMBOY_RGB = 102;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS1 = 111;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS2 = 112;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS3 = 113;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS4 = 114;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS5 = 115;
const int MSG_CMD_TYPE_SUMBOY_HW_FOCUS6 = 116;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS1 = 121;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS2 = 122;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS3 = 123;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS4 = 124;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS5 = 125;
const int MSG_CMD_TYPE_SUMBOY_RGB_FOCUS6 = 126;

#endif  // RABBIT_CONSTS_H
